[13.x] Add PNG, GIF, AVIF, and BMP output formats to the Image component#60713
Draft
Tresor-Kasenda wants to merge 2 commits into
Draft
[13.x] Add PNG, GIF, AVIF, and BMP output formats to the Image component#60713Tresor-Kasenda wants to merge 2 commits into
Tresor-Kasenda wants to merge 2 commits into
Conversation
The `Image` component only supported converting to webp/jpg/jpeg via `toFormat()`, even though the underlying Intervention Image encoders for png, gif, avif, and bmp were already available. Adds `toPng()`, `toGif()`, `toAvif()`, and `toBmp()` following the same pattern as the existing format methods.
CI failed because getimagesizefromstring() and finfo's AVIF detection depend on the libavif/libmagic versions installed on the runner, which differ from the local dev environment. The driver test now inspects the raw ISOBMFF ftyp box/brand instead of relying on getimagesizefromstring(), and the extension() regression test skips itself when the local fileinfo database doesn't recognize AVIF.
Member
|
Tests are failing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Illuminate\Image\Image::toFormat()currently only supports converting towebp,jpg, andjpeg, even though the underlying Intervention Image encoders forpng,gif,avif, andbmpare already bundled and used elsewhere in the driver (MediaTypeEncoderfallback). This adds first-class fluent methods for the missing formats, following the exact same pattern as the existing ones.Image::toPng()Image::toGif()Image::toAvif()Image::toBmp()Also fixes
Image::extension(), which was missing theimage/avifMIME type mapping and would have produced a.binextension for AVIF outputs stored viastore()/storeAs().